#ifndef __CONFIG_H__
#define __CONFIG_H__

#include <Arduino.h>
#include <WiFi.h>
#include <WiFiClient.h>
#include <WebServer.h>
#include <DNSServer.h>
#include <ESPmDNS.h>
#include <PubSubClient.h>
#include <LittleFS.h>

#define FirmwareVersions "FW_ESP32.01.00_F4.02.00.SN2408005" // 固件版本号
#define HardwareVersions "HW_ESP32.T1.00.SN230805"          // 硬件版本号

#define millisTimeMax 0xffffffff

#define DEBUG_LOG_printf Serial.printf
#define DEBUG_LOG_print Serial.print
#define DEBUG_LOG_println Serial.println

typedef struct
{
  unsigned long lastTick;     // 最后一次执行函数的时间（ms）
  unsigned long intervalTick; // 隔多长时间执行函数（ms）
  void (*func)(void);         // 需要执行函数
} loop_time_t;

typedef struct
{
  String ap_ssid;
  String ap_passwd;
  String sta_ssid;
  String sta_passwd;
  String mqtt_addr;
  String mqtt_port;
  String mqtt_user;
  String mqtt_passwd;
} config_info_t;

extern loop_time_t arrayTime[10];
extern String wifi_info;

#endif /* __CONFIG_H__ */